﻿namespace GFramework
{
    public interface IAwake
    {
        void Awake();
    }

    public interface IAwake<T>
    {
        void Awake(T obj);
    }

    public interface IAwake<T1, T2>
    {
        void Awake(T1 obj1, T2 obj2);
    }

    public interface IAwake<T1, T2, T3>
    {
        void Awake(T1 obj1, T2 obj2, T3 obj3);
    }

    public interface IStart
    {
        void Start();
    }

    public interface IShutdown
    {
        void Shutdown();
    }

    public interface IUpdate
    {
        void Update(float elapseSeconds, float realElapseSeconds);
    }
}
